$(function () {
    // console.log(111);
    var form = layui.form

    // 处理地址获取传入的id
    const getUrlParams = (url) => {
        const arrSearch = url.split('?').pop().split('#').shift().split('&');
        let obj = {};
        arrSearch.forEach((item) => {
            const [k, v] = item.split('=');
            obj[k] = v;
            return obj;
        });
        return obj;
    };
    // 获取当前点击的id
    var id = getUrlParams(window.location.href).id
    console.log(id);

    // 初始化富文本编辑器
    initEditor()


    // 渲染分类列表
    function cateList() {
        $.ajax({
            method: 'GET',
            url: '/ydd_cate/all',
            success: function (res) {
                if (res.errno !== 0) return console.log('获取分类失败!');
                // console.log(res.data);
                var htmlStr = template('tpl_cate', res)
                $('[name=cateid]').html(htmlStr)
                // 重新渲染
                form.render()
            }
        })
    }
    cateList()

    // 渲染标签列表
    function tagsList() {
        $.ajax({
            method: 'GET',
            url: '/ydd_tag/all',
            success: function (res) {
                if (res.errno !== 0) return console.log('获取标签失败!');

                var htmlStr = template('tpl_tags', res)
                $('.tags').html(htmlStr)
                // console.log($('.tags'));
                // 重新渲染
                form.render()
            }
        })
    }
    tagsList()

    // 定义一个空对象用来接收获取过来的对象
    var obj = null
    // var ishot = 0
    // var istop = 0
    // var status = 2
    // 根据id获取信息
    function getInfo() {
        $.ajax({
            method: 'GET',
            url: '/ydd_article/rowInfo?id=' + id,
            success: function (res) {
                if (res.errno !== 0) return console.log('获取信息失败!');
                obj = res.data
                obj.ishot = res.data.ishot
                obj.istop = res.data.istop
                obj.status = res.data.status

                // 将时间戳转化为时间
                var shijianchuo = res.data.create_date
                var date = getdate(shijianchuo)
                res.data.create_date = date
                $('#test1').val(date)
                // 将得到的图片渲染到img中
                console.log(res.data.pic);
                console.log(obj);
                $('.layui-unselect layui-form-checkbox layui-form-checked').removeClass('layui-form-checked')

                // 循环已选择的标签进行选中
                var tags = res.data.tags
                isChecked(tags, $('[name=tags]'))

                $('#image').attr('src', 'http://192.168.21.69:8060/' + res.data.pic)
                // 将获取的数据渲染到form表单中
                form.val('editInfo', res.data)
            }
        })
    }

    getInfo()

    // // 点击上传打开上传页面
    $('#file').click(function () {
        $('#coverFile').click()
    })
    // 点击返回文章列表
    $('#articleInfo').on('click', '.returnId', function () {
        location.href = '/article.html'
    })


    //判断istop是否选中
    form.on('switch(istop)', function (data) {
        console.log(data.elem.checked); //开关是否开启，true或者false
        if (data.elem.checked) {
            obj.istop = 1
        }
    });

    //判断ishot是否选中
    form.on('switch(ishot)', function (data) {
        // console.log(data.elem.checked); //开关是否开启，true或者false
        if (data.elem.checked) {
            obj.ishot = 1
        }
    });

    // 定义一个文件对象用来接收你所选择的文件
    var file = null
    // 获取文件在服务器的地址
    var savePath = null
    $('#coverFile').change(function (e) {
        var fileList = e.target.files
        console.log(fileList);

        if (fileList.length === 0) {
            return file = null
        }
        // 根据文件，创建对应的 URL 地址
        var newImgURL = URL.createObjectURL(fileList[0])

        $('#image').attr('src', newImgURL)
        file = fileList[0]

        var fd = new FormData()
        fd.append('file', file)
        // 发送请求将图片上传到服务器
        $.ajax({
            method: 'POST',
            url: '/common/upload?type=images',
            data: fd,
            contentType: false,
            processData: false,
            success: function (res) {
                if (res.errno !== 0) return layui.layer.msg('上传图片失败!');
                setTimeout(function () {
                    layui.layer.msg('图片上传成功!');
                    savePath = res.data.savePath
                    console.log(savePath);
                }, 3000)
            }
        })
    })

    $('#articleInfo').on('submit', function (e) {
        e.preventDefault()
        console.log(12345651);
        var dom = $('.tags [type=checkbox]:checked')
        var arr = []

        $.each(dom, (i, ele) => {
            arr.push($(ele).attr('title'));
        })
        console.log(obj);
        var fd = new FormData($(this)[0])

        fd.append('istop', obj.istop)
        fd.append('ishot', obj.ishot)
        fd.append('status', obj.status)
        fd.append('pic', savePath || obj.pic)

        for (var key of fd.keys()) {

            if (key == 'create_date') {
                fd.set(key, +new Date(fd.get(key)))
            }
            if (key == 'tags') {
                fd.set(key, arr.join())
            }
            console.log(key, fd.get(key));
        }

        $.ajax({
            method: 'POST',
            url: '/ydd_article/update',
            data: fd,
            contentType: false,
            processData: false,
            success: function (res) {
                if (res.errno !== 0) return layui.layer.msg('修改失败!');
                layui.layer.msg('修改成功!')
                console.log(res.data);
                location.href = '/article.html'
            }
        })
    })


    function getdate(n) {
        var now = new Date(n),
            y = now.getFullYear(),
            m = now.getMonth() + 1,
            d = now.getDate();
        return y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d) + " " + now.toTimeString().substr(0, 8);
    }

    function isChecked(arr, dom) {
        if (arr) {
            arr = arr.split(',')
            console.log(arr);
            $.each(dom, (i, ele) => {
                console.log(arr.indexOf($(ele).attr('title')));
                if (arr.indexOf($(ele).attr('title')) !== -1) {
                    $(ele).attr("checked", "checked")
                }
            })
        }
        return
    }
})